iTwin数字孪生创建基础设施“元宇宙”
The following article is from iTwin Author ShunNai Zhao
赵 老 师 小 课 堂
赵 顺 耐
Bentley 软件
高级技术经理
赵老师是 Bentley 软件的技术大咖之一,偶尔喜欢写一些技术文章,简明易懂,别有见解。“赵老师小课堂”将不定期分享赵老师写的一些技术内容。
1992年,美国作家Neal Stephenson出版了《Snow Crash》(雪崩),这是一本科幻小说,在里面提到了“元宇宙”Metaverse“。元宇宙是一个与现实世界平行的世界。利用物联网、互联网、虚拟现实、增强现实技术,现实世界可以投射到元宇宙。这非常像基础设施行业的数字孪生,或者说,利用数字孪生技术,就可以打造基础设施领域的“元宇宙”。
在上篇文章里,我们讨论了《如何选择“工程数据平台”》(点击查看),这个平台就是用来创建基础设施行业的“数字孪生”Digital Twin,也就是基础设施行业的“元宇宙”。
“需求决定选择”,当我们的需求非常明确的时候,选择的方向也就更加清晰,也会指定一些关键的评测指标。总体来讲,可以归结为如下几点来保证数据的开放性,安全性,完整性,以及有必要的模式来保证同步、集成数据。
支持多种云环境,可以利用云原生技术。而不仅仅是一个局域网部署的软件模块。
兼容多种原生数据,开源API读取专有数据格式(取决于数据格式的开放性)。
具备数据变更的管理能力,追溯数据的变化,可以实现不同时间点的数据对比分析。
开源的数据存储格式,便于数据的读取和系统集成。
开源的API,定义、拓展不同的应用程序。
如果初步展开,评判数据平台的指标如下。当然需要根据自己的投入、实施阶段、未来业务策略等因素再进一步细化。我们也结合iTwin的一些特点,进行描述。
部署方式
是否支持公有云、私有云、企业数据中心部署。这三者的区别可能更多不是技术,而是业务模式。也就是取决于你要管理什么?你需要别人提供什么?
云架构下不同的业务模式
例如,如果你是一个软件开发商、或者行业数字服务提供商。你的业务诉求可能是建立一个SaaS平台,向终端用户提供数字服务。而这些服务就需要放置在云上,然后根据业务来确定是公有云还是私有云。
Bentley的iTwin数字孪生平台支持各种云平台。它首先实现的是基于Azure的公有云部署,它的核心组件就是iModel Hub来管理数据。
iTwin Platform支持公有云部署
利用iModel Hub的API用来支持私有云部署的就是iModel Bank,也就是现在中国用户使用的iTwin的核心组件。连同数据转换组件Connectors和开源的开发工具包iTwin.js,我们称之为iTwin Stack。
利用iTwin Stacks实现私有云部署
Bentley正在开发一个基于iTwin Stack的中国云产品,暂时的名称为iTwin Project Center。它未来可以部署在私有云上,我们已经做出了一个产品原型,部署在阿里云上,(http://www.itwin365.cn),后续也会支持国内的各种云平台。
基于iTwin Stack开发的云数据平台
如果你是一个企业用户,想体会iTwin数字孪生解决方案的话,请发送邮件到XiongFei.Zhao@bentley.com 申请试用。在邮件中,标题请遵循如下格式“iTwin申请试用-单位名称”。并在邮件中提供如下信息,以让我们的技术人员与您联系。
单位名称:
您的姓名/职务/联系方式:
简要说明贵单位现在云部署现状及对云平台的要求。
另外,我们也正在建立一个iTwin的开发测试平台,以让用户可以评测iTwin的API开发能力。
元原生Cloud-Native
不管何种部署方式,都需要云原生架构的支持(Cloud-Native)。云服务不同于传统的桌面端产品,他需要分布式计算,持续性交付升级,容器化部署等。
Cloud-Native原生云架构
容器化,对象存储,分布式调用。这些内容其实是Cloud-Native的内容。应该能够充分的利用云计算带来的效率提升。数字化是让数据产生更多价值,会被大量的应用场合访问,而且还要支持这些场合的数据同步。所以,云平台需要具有利用这些云技术的能力。
iTwin支持容器化部署、对象存储及分布式调用。特别是iModel Bank模块对数据同步的管理和分发,这对于数据集成及密集访问尤其重要。
在iTwin Stack上,各种功能模块以微服务的形式存在(microservice)。这非常有利于业务系统的建立和管理。
iTwin Stack的微服务(部分)
开源生态系统
开源,意味着平台的可扩展性及生态系统。如果再展开,还要分,数据存储格式是否开源,开发工具开源,数据转换开源等。
iTWin BIM数据存储采用SQLite数据库
iTwin的BIM数据存储采用开源SQLite数据库,简单高效。而对于存储数据的架构,Bentley称之为BIS(Base Infrastracture Schema),也就是如何描述一个对象、项目等。你可以通过https://www.itwinjs.org/bis/了解更多内容。
BIS系列
除了数据库采用开源数据,存储结构开放,iTwin同时提供了开源的开发工具包iTwin.js,你可以利用这些API扩展各种各样的应用程序。详情访问http://www.itwinjs.org/
iTwin.js开源API(itwinjs.org)
数据同步方式
很多数据平台是将原始数据传输到服务器上,然后在服务器进行转化。虽然,对于SaaS应用模式来讲,非常常见。但这也带来了原始数据的泄露隐患。我们后面会讲到。数据分为了同步Synchronization和集成Federation。
数据同步是指同步不断变化的BIM数据,数据集成是指集成外部系统的实时数据
同步是指同步变化的数据,而不是整个文件。而且原始的设计数据组织方式也不适用于后期的数据利用。所以,数据的转换应该支持在本地,或者支持两种模式。
MicroStation集成iTwin Synchronizer,用于将数据变更同步到数据平台
数据加载
对于Web GL模式来讲,浏览器最后显示的是三维瓦片(3D Tiles)。这个过程是浏览器对平台提出视图显示请求,平台从数据库中提取视图所需BIM数据,然后把BIM数据转换成3D Tile,然后发送给浏览器。浏览器将这些数据显示出来,当我们转换视图时,平台会重复这一过程。这里面涉及两项技术:
服务器端缓存:数据平台提前将BIM数据视图转换为3D tile,访问时,直接读取3D tile,而省去了转换的时间。
LOD自动调整:模型精细度根据视图的大小来决定加载的颗粒度,如果视图很大范围,模型加载的颗粒度就大,从而提升加载速度。如果缩小视图时,系统就会再去加载更多的细节。
当然,最终的浏览速度还涉及到Viewer如何加载Tile Tree。这是个不断优化的过程。例如在最新的iTwinjs3.0版本中,浏览的速度提升了一倍。
数据导出
包括了导出为标准的数据格式,例如IFC,或者有读取数据的方式。这对于数据集成来讲非常重要,对于iTwin来讲,数据库是开源的,数据结构是开放的,同时提供了数据库查询读取的工具。所以,你可以根据自己的需要来提取数据。
在iTwin中,将某一具体的时间点的数据状态,导出为标准数据格式
iTwin提供的数据查询API
数据兼容
这是所有用户关心的问题。因为对于数据平台来讲,需要集成、同步不同类型的数据。我们之所以使用同步Synchronization,而没有用转换Conversion是因为这是一个持续的过程。也就意味着,我们不能使用一个工具来阶段性的转换数据,而是要实时的同步数据。
iTwin转换原生数据的Connectors(部分)
iTwin Synchronizer根据不同类型的BIM数据,调用Connectors来同步数据变更,不管是Dgn,Revit,DWG还是各种工厂、地理信息数据。
多种类型的原生数据加入到iTwin Synchronizer
iTwin Synchronizer检测到数据类型,调用不同的Connectors进行数据同步
Bentley不断扩展支持的原生数据类型。同时,用户也可以利用Connector的API来转换独有的数据格式。例如,国内CAD的二次开发商,都采用了自定义实体的方式描述专业对象。这类数据,虽然也是DWG格式,但是,如果没有插件,CAD也无法识别。这种情况下,就可以利用Connector的API来解析这类数据。当然,你需要知道这类特殊数据的数据结构,也就是,它得让你读,Connector才能同步数据的变化到iTwin。
很多数据是被参考到Dgn文件中放的,这类数据的同步是通过MicroStation的Connector转换的。例如SketchUp文件。同时这些文件也需要在一个“工程文件”中,对齐进行地理信息定位。
功能指标
上面,我们已经列举了选择数据平台的的核心指标,但是,我们并没有列举具体的功能模块指标。在这里可以给你一些参考:
如果你选择的是一个开箱即用的数字孪生产品,现有功能是非常重要的考量内容。这时你需要考虑:
实景地图
模型浏览
局部显示
模型渲染
模型特效
对象捕捉
对象属性
视图操作
模型分析
标记标签
系统集成
模型特效
当然每项内容还需要更加详细的列出来。
具体的性能指标对比
而如果你是一个集成商、开发商,你需要看中就是API的能力,因为你需要利用API来开发业务系统,或者进行系统集成。你可能会关系是否有如下类似的API。
API对比
这些评测的指标,可以帮助我们更加细致的选择我们的数据平台,在此基础上我们再进行定量的性能测试,例如对模型的支撑能力、加载速度、浏览速度、展示效果等。当然也会看到iTwin在这些指标上的优势。
通过上面的介绍,我们理解了数字孪生平台的核心要素,我们可以同步数据、管理数据变更,利用数据,建立一个与物理世界同步的平行世界,在这个世界里,项目、资产以数字化的形式存在,它有血、有肉、会说话、能交互。我们任何大数据的使用,正是建立在这样的体系下。所以,我们需要的不仅仅是一个能看现在的数据平台,而是需要一个可以建立“元宇宙”的数字孪生平台。
Jacobs数字孪生项目
在后续的文章里,我们将对iTwin的具体工作流程做专题介绍,例如,iTwin数据变更管理,iTwin数据集成同步等。
上期回顾:如何选择“工程数据平台”
想了解更多Bentley软件信息,请关注:
官网:http://www.bentley.com/
新浪微博:@Bentley软件官方微博
中国优先技术社区:www.bentley.com/chinafirst
微信号:Bentley软件